#ifndef KERNEL_HAL_ATOMIC_H
#define KERNEL_HAL_ATOMIC_H

extern "C"
{
	extern int32	Atomic_Add			( vint32 * value, int32 add );
	extern int32	Atomic_And			( vint32 * value, int32 bits );
	extern int32	Atomic_Or			( vint32 * value, int32 bits );
	extern int32	Atomic_Get			( vint32 * value );
	extern int32	Atomic_Set			( vint32 * value, int32 newValue );
	extern int32	Atomic_TestAndSet	( vint32 * value, int32 test, int32 set );
	extern int32	Atomic_Inc			( vint32 * value );
	extern int32	Atomic_Dec			( vint32 * value );
}

#endif // KERNEL_HAL_ATOMIC_H
